/**
 * 
 */
package co.edu.uniquindio.delegados;

import java.util.List;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import co.edu.uniquindio.ejbremotos.ParametrizadaEjbRemote;
import co.edu.uniquindio.logica.Administrador;
import co.edu.uniquindio.logica.Color;
import co.edu.uniquindio.logica.Marca;
import co.edu.uniquindio.logica.Modelo;
import co.edu.uniquindio.logica.Motor;

/**
 * esta clase representa el delegado de la clase parametrizada ejb quien se encargara de crear clases con autorizacion de un administrador
 * @author Andres Felipe Abril
 * @author Luis Enrique Robledo
 */
public class ParametrizadaDelegado implements ParametrizadaEjbRemote
{
    /**
     * este atributo representa una instancia estatica de la clase parametrizadaDelegado
     */
	public static ParametrizadaDelegado me;
	/**
	 * este atributo representa una instancia de la interfaz parametrizadaEnjRemote
	 */
	private ParametrizadaEjbRemote EJB;
	/**
	 * Costructor de la clase parametrizada delegado quien se encarga de crear la instancia  de la clase parametrizadaEjbremoto
	 */
	public ParametrizadaDelegado()
	{
	  try {
		EJB =(ParametrizadaEjbRemote)new InitialContext().lookup("java:global/Subasta/ParametrizadaEjb!co.edu.uniquindio.ejbRemotos.ParametrizadaEjbRemote");
	} catch (NamingException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}	
	}
	/**
	 * este metodo permite crear una unica instancia estatica de una parametrizada delegado
	 * @return
	 */
	public static ParametrizadaDelegado getParametrizadaDelegado()
	{
		if (me == null)
			me = new ParametrizadaDelegado();
		return me;
	}
		
	@Override
	public void agregarMarca(Marca marca) throws Exception 
	{
		// TODO Auto-generated method stub
		EJB.agregarMarca(marca);
	}

	@Override
	public void agregarModelo(Modelo modelo) throws Exception {
		// TODO Auto-generated method stub
		EJB.agregarModelo(modelo);
	}

	@Override
	public void agregarColor(Color color) throws Exception {
		// TODO Auto-generated method stub
		EJB.agregarColor(color);
	}

	@Override
	public void agregarMotor(Motor motor) throws Exception {
		// TODO Auto-generated method stub
		EJB.agregarMotor(motor);
	}

	@Override
	public void agregarAdministrador(Administrador admin) throws Exception {
		// TODO Auto-generated method stub
		EJB.agregarAdministrador(admin);
	}

	@Override
	public void eliminarMarca(String nombreM) throws Exception {
		// TODO Auto-generated method stub
		EJB.eliminarMarca(nombreM);
	}

	@Override
	public void eliminarModelo(String nombre) throws Exception {
		// TODO Auto-generated method stub
		EJB.eliminarModelo(nombre);
	}

	@Override
	public void eliminarColor(int codigo) throws Exception {
		// TODO Auto-generated method stub
		EJB.eliminarColor(codigo);
	}

	@Override
	public void eliminarMotor(int ref) throws Exception {
		// TODO Auto-generated method stub
		EJB.eliminarMotor(ref);
	}

	@Override
	public void eliminarAdministrador(String contrasenia) throws Exception {
		// TODO Auto-generated method stub
		EJB.eliminarAdministrador(contrasenia);
	}
	@Override
	public Administrador validarA(String contransenia) throws Exception
	{
		// TODO Auto-generated method stub
		return EJB.validarA(contransenia);
	}
	

}
